package com.mzq.langchain4j_springboot.web.service.Impl;


import com.mzq.langchain4j_springboot.web.entity.HouseInfo;
import com.mzq.langchain4j_springboot.web.mapper.HouseInfoMapper;
import com.mzq.langchain4j_springboot.web.service.HouseInfoService;
import dev.langchain4j.agent.tool.P;
import dev.langchain4j.agent.tool.Tool;
import jakarta.annotation.Resource;
import org.mybatis.logging.Logger;
import org.mybatis.logging.LoggerFactory;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Service;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 房产信息
 */
@Service
public class HouseInfoServiceImpl implements HouseInfoService{

    private static final Logger log = LoggerFactory.getLogger(HouseInfoServiceImpl.class);

    @Resource
    private HouseInfoMapper houseInfoMapper;

    @Override
    public int insertHouse(HouseInfo houseInfo) {
        return houseInfoMapper.insertHouse(houseInfo);
    }

    @Override
    public int updateHouse(HouseInfo houseInfo) {
        return houseInfoMapper.updateHouse(houseInfo);
    }
    @Tool("根据房屋ID查询房产信息")
    public List<Map<String, Object>> getHouseById(
            @P("房屋ID") String houseId
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseId(houseId);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据建账日期查询房产信息")
    public List<Map<String, Object>> getHouseByBuildDate(
            @P("建账日期") String houseBuildDate
    ) throws ParseException {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseBuildDate(houseBuildDate);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据资产编号查询房产信息")
    public List<Map<String, Object>> getHouseByNumber(
            @P("资产编号") String houseNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseNumber(houseNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据资产名称查询房产信息")
    public List<Map<String, Object>> getHouseByName(
            @P("资产名称") String houseName
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseName(houseName);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据所属单位ID查询房产信息")
    public List<Map<String, Object>> getHouseByUnitId(
            @P("所属单位ID") String houseUnitId
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseUnitId(houseUnitId);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据所属单位查询房产信息")
    public List<Map<String, Object>> getHouseByUnit(
            @P("所属单位") String houseUnit
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseUnit(houseUnit);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据资产类别查询房产信息")
    public List<Map<String, Object>> getHouseByType(
            @P("资产类别") String houseType
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseType(houseType);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据资产状态查询房产信息")
    public List<Map<String, Object>> getHouseByStatus(
            @P("资产状态") String houseStatus
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseStatus(houseStatus);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据负责人查询房产信息")
    public List<Map<String, Object>> getHouseByHeader(
            @P("负责人") String houseHeader
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseHeader(houseHeader);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据使用单位ID查询房产信息")
    public List<Map<String, Object>> getHouseByUsingUnitId(
            @P("使用单位ID") String houseUsingUnitId
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseUsingUnitId(houseUsingUnitId);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据使用单位查询房产信息")
    public List<Map<String, Object>> getHouseByUsingUnit(
            @P("使用单位") String houseUsingUnit
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseUsingUnit(houseUsingUnit);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据使用部门查询房产信息")
    public List<Map<String, Object>> getHouseByUsingDept(
            @P("使用部门") String houseUsingDept
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseUsingDept(houseUsingDept);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据使用人查询房产信息")
    public List<Map<String, Object>> getHouseByUsingPerson(
            @P("使用人") String houseUsingPerson
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseUsingPerson(houseUsingPerson);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据固定资产编号查询房产信息")
    public List<Map<String, Object>> getHouseByFixedNumber(
            @P("固定资产编号") String houseFixedNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseFixedNumber(houseFixedNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据固定资产名称查询房产信息")
    public List<Map<String, Object>> getHouseByFixedName(
            @P("固定资产名称") String houseFixedName
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseFixedName(houseFixedName);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据资产数量查询房产信息")
    public List<Map<String, Object>> getHouseByCount(
            @P("资产数量") String houseCount
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseCount(houseCount);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据原值查询房产信息")
    public List<Map<String, Object>> getHouseByOriginalValue(
            @P("原值") String houseOriginalValue
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseOriginalValue(houseOriginalValue);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据残值查询房产信息")
    public List<Map<String, Object>> getHouseByResidualValue(
            @P("残值") String houseResidualValue
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseResidualValue(houseResidualValue);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据累积折旧查询房产信息")
    public List<Map<String, Object>> getHouseByOldValue(
            @P("累积折旧") String houseOldValue
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseOldValue(houseOldValue);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据净值查询房产信息")
    public List<Map<String, Object>> getHouseByNetWorth(
            @P("净值") String houseNetWorth
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseNetWorth(houseNetWorth);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据净额查询房产信息")
    public List<Map<String, Object>> getHouseByNetAmount(
            @P("净额") String houseNetAmount
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseNetAmount(houseNetAmount);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据可使用月份查询房产信息")
    public List<Map<String, Object>> getHouseByMonthEnable(
            @P("可使用月份") String houseMonthEnable
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseMonthEnable(houseMonthEnable);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据已使用月份查询房产信息")
    public List<Map<String, Object>> getHouseByMonthUsed(
            @P("已使用月份") String houseMonthUsed
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseMonthUsed(houseMonthUsed);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据经残值率查询房产信息")
    public List<Map<String, Object>> getHouseByNetSalvage(
            @P("经残值率") String houseNetSalvage
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseNetSalvage(houseNetSalvage);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据项目名称查询房产信息")
    public List<Map<String, Object>> getHouseByProject(
            @P("项目名称") String houseProject
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseProject(houseProject);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据需用性质查询房产信息")
    public List<Map<String, Object>> getHouseByNature(
            @P("需用性质") String houseNature
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseNature(houseNature);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据开始使用日期查询房产信息")
    public List<Map<String, Object>> getHouseByStartDate(
            @P("开始使用日期") String houseStartDateStr
    ) throws ParseException {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseStartDate(houseStartDateStr);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据是否完好查询房产信息")
    public List<Map<String, Object>> getHouseByWhole(
            @P("是否完好") String houseWhole
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseWhole(houseWhole);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据级别查询房产信息")
    public List<Map<String, Object>> getHouseByLevel(
            @P("级别") String houseLevel
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLevel(houseLevel);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据是否涉密查询房产信息")
    public List<Map<String, Object>> getHouseBySecret(
            @P("是否涉密") String houseSecret
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseSecret(houseSecret);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据计量单位查询房产信息")
    public List<Map<String, Object>> getHouseByMeterUnit(
            @P("计量单位") String houseMeterUnit
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseMeterUnit(houseMeterUnit);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据打印次数查询房产信息")
    public List<Map<String, Object>> getHouseByPrintCount(
            @P("打印次数") String housePrintCount
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHousePrintCount(housePrintCount);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据父资产编号查询房产信息")
    public List<Map<String, Object>> getHouseByPrintParent(
            @P("父资产编号") String housePrintParent
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHousePrintParent(housePrintParent);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据备注查询房产信息")
    public List<Map<String, Object>> getHouseByRemark(
            @P("备注") String houseRemark
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseRemark(houseRemark);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据公司内部编码查询房产信息")
    public List<Map<String, Object>> getHouseByInnerNumber(
            @P("公司内部编码") String houseInnerNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseInnerNumber(houseInnerNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据存放位置查询房产信息")
    public List<Map<String, Object>> getHouseBySavePosition(
            @P("存放位置") String houseSavePosition
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseSavePosition(houseSavePosition);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据是否固定资产查询房产信息")
    public List<Map<String, Object>> getHouseByFixed(
            @P("是否固定资产") String houseFixed
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseFixed(houseFixed);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据财务资产编号查询房产信息")
    public List<Map<String, Object>> getHouseByFinanceNumber(
            @P("财务资产编号") String houseFinanceNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseFinanceNumber(houseFinanceNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据来往单位名称查询房产信息")
    public List<Map<String, Object>> getHouseByContactUnit(
            @P("来往单位名称") String houseContactUnit
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseContactUnit(houseContactUnit);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据折旧方法查询房产信息")
    public List<Map<String, Object>> getHouseByOldWayFunc(
            @P("折旧方法") String houseOldWayFunc
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseOldWayFunc(houseOldWayFunc);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据折旧方法编号查询房产信息")
    public List<Map<String, Object>> getHouseByOldWayNumber(
            @P("折旧方法编号") String houseOldWayNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseOldWayNumber(houseOldWayNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据折旧方法名称查询房产信息")
    public List<Map<String, Object>> getHouseByOldWayName(
            @P("折旧方法名称") String houseOldWayName
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseOldWayName(houseOldWayName);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据房产面积查询房产信息")
    public List<Map<String, Object>> getHouseByHouseArea(
            @P("房产面积") String houseHouseArea
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseHouseArea(houseHouseArea);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据土地面积查询房产信息")
    public List<Map<String, Object>> getHouseByLandArea(
            @P("土地面积") String houseLandArea
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLandArea(houseLandArea);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据行政区域查询房产信息")
    public List<Map<String, Object>> getHouseByDistrict(
            @P("行政区域") String houseDistrict
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseDistrict(houseDistrict);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据所属街道查询房产信息")
    public List<Map<String, Object>> getHouseByStreet(
            @P("所属街道") String houseStreet
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseStreet(houseStreet);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据房屋性质0查询房产信息")
    public List<Map<String, Object>> getHouseByHouseNature0(
            @P("房屋性质0") String houseHouseNature0
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseHouseNature0(houseHouseNature0);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据建筑年份查询房产信息")
    public List<Map<String, Object>> getHouseByBuildYear(
            @P("建筑年份") String houseBuildYear
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseBuildYear(houseBuildYear);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据房产证号查询房产信息")
    public List<Map<String, Object>> getHouseByHouseCard(
            @P("房产证号") String houseHouseCard
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseHouseCard(houseHouseCard);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据土地证号查询房产信息")
    public List<Map<String, Object>> getHouseByLandCard(
            @P("土地证号") String houseLandCard
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLandCard(houseLandCard);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据产权性质查询房产信息")
    public List<Map<String, Object>> getHouseByOwnerNature(
            @P("产权性质") String houseOwnerNature
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseOwnerNature(houseOwnerNature);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据产权所属查询房产信息")
    public List<Map<String, Object>> getHouseByOwnerFrom(
            @P("产权所属") String houseOwnerFrom
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseOwnerFrom(houseOwnerFrom);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据是否在账查询房产信息")
    public List<Map<String, Object>> getHouseByAccount(
            @P("是否在账") String houseAccount
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseAccount(houseAccount);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据是否门脸查询房产信息")
    public List<Map<String, Object>> getHouseByFace(
            @P("是否门脸") String houseFace
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseFace(houseFace);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据当前状态编号查询房产信息")
    public List<Map<String, Object>> getHouseByCurrentNumber(
            @P("当前状态编号") String houseCurrentNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseCurrentNumber(houseCurrentNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据当前状态名称查询房产信息")
    public List<Map<String, Object>> getHouseByCurrentName(
            @P("当前状态名称") String houseCurrentName
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseCurrentName(houseCurrentName);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据土地使用权类型名称查询房产信息")
    public List<Map<String, Object>> getHouseByLandUseName(
            @P("土地使用权类型名称") String houseLandUseName
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLandUseName(houseLandUseName);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据房屋性质编号查询房产信息")
    public List<Map<String, Object>> getHouseByNatureNumber(
            @P("房屋性质编号") String houseNatureNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseNatureNumber(houseNatureNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据房屋性质名称查询房产信息")
    public List<Map<String, Object>> getHouseByNatureName(
            @P("房屋性质名称") String houseNatureName
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseNatureName(houseNatureName);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据房屋类型编号查询房产信息")
    public List<Map<String, Object>> getHouseByTypeNumber(
            @P("房屋类型编号") String houseTypeNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseTypeNumber(houseTypeNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据房屋类型名称查询房产信息")
    public List<Map<String, Object>> getHouseByTypeName(
            @P("房屋类型名称") String houseTypeName
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseTypeName(houseTypeName);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据产权归属编号查询房产信息")
    public List<Map<String, Object>> getHouseByOwnerNumber(
            @P("产权归属编号") String houseOwnerNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseOwnerNumber(houseOwnerNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据产权归属名称查询房产信息")
    public List<Map<String, Object>> getHouseByOwnerName(
            @P("产权归属名称") String houseOwnerName
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseOwnerName(houseOwnerName);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据使用部门查询房产信息")
    public List<Map<String, Object>> getHouseByUsingDept1(
            @P("使用部门") String houseUsingDept1
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseUsingDept1(houseUsingDept1);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据所属部门查询房产信息")
    public List<Map<String, Object>> getHouseByFromDept1(
            @P("所属部门") String houseFromDept1
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseFromDept1(houseFromDept1);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据台账名称查询房产信息")
    public List<Map<String, Object>> getHouseByLedger(
            @P("台账名称") String houseLedger
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLedger(houseLedger);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据详细地址查询房产信息")
    public List<Map<String, Object>> getHouseByAddress(
            @P("详细地址") String houseAddress
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseAddress(houseAddress);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据上级ID查询房产信息")
    public List<Map<String, Object>> getHouseByParentId(
            @P("上级ID") String parentId
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setParentId(parentId);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据土地面积_手填查询房产信息")
    public List<Map<String, Object>> getHouseByGroundArea(
            @P("土地面积_手填") String houseGroundArea
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseGroundArea(houseGroundArea);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据房产面积_手填查询房产信息")
    public List<Map<String, Object>> getHouseByHomeArea(
            @P("房产面积_手填") String houseHomeArea
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseHomeArea(houseHomeArea);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据行政区_手填查询房产信息")
    public List<Map<String, Object>> getHouseByDistrictCode(
            @P("行政区_手填") String houseDistrictCode
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseDistrictCode(houseDistrictCode);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据土地性质_手填查询房产信息")
    public List<Map<String, Object>> getHouseByLandNature(
            @P("土地性质_手填") String houseLandNature
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLandNature(houseLandNature);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据产证权利人_手填查询房产信息")
    public List<Map<String, Object>> getHouseByCardUser(
            @P("产证权利人_手填") String houseCardUser
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseCardUser(houseCardUser);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据权证号_手填查询房产信息")
    public List<Map<String, Object>> getHouseByWarrantCard(
            @P("权证号_手填") String houseWarrantCard
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseWarrantCard(houseWarrantCard);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据土地房产管理人_手填查询房产信息")
    public List<Map<String, Object>> getHouseByLandManager(
            @P("土地房产管理人_手填") String houseLandManager
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLandManager(houseLandManager);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据土地房产来源_手填查询房产信息")
    public List<Map<String, Object>> getHouseByLandSource(
            @P("土地房产来源_手填") String houseLandSource
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLandSource(houseLandSource);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据土地房产类别_手填查询房产信息")
    public List<Map<String, Object>> getHouseByLandType(
            @P("土地房产类别_手填") String houseLandType
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLandType(houseLandType);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据附件_影像查询房产信息")
    public List<Map<String, Object>> getHouseByFilePathVideo(
            @P("附件_影像") String houseFilePathVideo
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseFilePathVideo(houseFilePathVideo);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据附件_权证查询房产信息")
    public List<Map<String, Object>> getHouseByFilePathWarrant(
            @P("附件_权证") String houseFilePathWarrant
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseFilePathWarrant(houseFilePathWarrant);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据附件_历史资料查询房产信息")
    public List<Map<String, Object>> getHouseByFilePathHistory(
            @P("附件_历史资料") String houseFilePathHistory
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseFilePathHistory(houseFilePathHistory);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据附件_其他查询房产信息")
    public List<Map<String, Object>> getHouseByFilePathOther(
            @P("附件_其他") String houseFilePathOther
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseFilePathOther(houseFilePathOther);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据土地房产状态查询房产信息")
    public List<Map<String, Object>> getHouseByLandStatus(
            @P("土地房产状态") String houseLandStatus
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLandStatus(houseLandStatus);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据用途查询房产信息")
    public List<Map<String, Object>> getHouseByUseStatus(
            @P("用途") String houseUseStatus
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseUseStatus(houseUseStatus);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据可出租房产面积查询房产信息")
    public List<Map<String, Object>> getHouseByRentBuilding(
            @P("可出租房产面积") String houseRentBuilding
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseRentBuilding(houseRentBuilding);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据整体租赁价值_房产查询房产信息")
    public List<Map<String, Object>> getHouseByRentBuildingValue(
            @P("整体租赁价值_房产") String houseRentBuildingValue
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseRentBuildingValue(houseRentBuildingValue);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据可出租土地面积查询房产信息")
    public List<Map<String, Object>> getHouseByRentLand(
            @P("可出租土地面积") String houseRentLand
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseRentLand(houseRentLand);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据整体租赁价值_土地查询房产信息")
    public List<Map<String, Object>> getHouseByRentLandValue(
            @P("整体租赁价值_土地") String houseRentLandValue
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseRentLandValue(houseRentLandValue);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据实际房产面积查询房产信息")
    public List<Map<String, Object>> getHouseByRealBuilding(
            @P("实际房产面积") String houseRealBuilding
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseRealBuilding(houseRealBuilding);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据实际土地面积查询房产信息")
    public List<Map<String, Object>> getHouseByRealLand(
            @P("实际土地面积") String houseRealLand
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseRealLand(houseRealLand);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据标识查询房产信息")
    public List<Map<String, Object>> getHouseByLandMark(
            @P("标识") String houseLandMark
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLandMark(houseLandMark);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据权证类别查询房产信息")
    public List<Map<String, Object>> getHouseByWarrantType(
            @P("权证类别") String houseWarrantType
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseWarrantType(houseWarrantType);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据土地权证号查询房产信息")
    public List<Map<String, Object>> getHouseByLandNumber(
            @P("土地权证号") String houseLandNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseLandNumber(houseLandNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据房产权证号查询房产信息")
    public List<Map<String, Object>> getHouseByBuildingNumber(
            @P("房产权证号") String houseBuildingNumber
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseBuildingNumber(houseBuildingNumber);
        return houseInfoMapper.selectHouseList(houseInfo);
    }

    @Tool("根据BIP数据ID查询房产信息")
    public List<Map<String, Object>> getHouseByCardId(
            @P("BIP数据ID") String houseCardId
    ) {
        HouseInfo houseInfo = new HouseInfo();
        houseInfo.setHouseCardId(houseCardId);
        return houseInfoMapper.selectHouseList(houseInfo);
    }


}
